#include <my_header.h>

/* Usage: ./fork */
int main(int argc, char *argv[]){                                  
    printf("-");        //打印一个"-" 没有刷新进入内核缓冲区 留在用户缓冲区
   // printf("-\n");    
    fork(); // 创建一个新的进行 并复制父进程的数据.... 再有一个"-"
    printf("-");    // 再次打印"-" 父子进程都打印一个"-" 此时有四个
   //  printf("-\n");
    fork(); // 再次创建新进程 父子进程斗创建 那么此时有8个"-"
    return 0;// 刷新缓冲区 打印8和"-"
}

#if 0
printf("-")换成printf("-\n")；
int mian(void)
{
    printf("-\n");  //打印一个并刷新再内核缓冲区 之后输出到终端
    fork(); // 此时子进程内没有"-";
    printf("-\n");  // 再次打印一个并刷新再内核缓冲区 输出到终端 此时父进程打印一个 子进程打印一个
    fork(); // 父子进程各自创建一个进程 但是此时父子进程内没有"-"因为已输出到终端 

    return 0;   // 最终输出 3个"-"
}




#endif
